#!/bin/bash
#
# Copyright 2020 eBlocker Open Source UG (haftungsbeschraenkt)
#
# Licensed under the EUPL, Version 1.2 or - as soon they will be
# approved by the European Commission - subsequent versions of the EUPL
# (the "License"); You may not use this work except in compliance with
# the License. You may obtain a copy of the License at:
#
#   https://joinup.ec.europa.eu/page/eupl-text-11-12
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
# implied. See the License for the specific language governing
# permissions and limitations under the License.
#

# This script removes everything that is needed for later usage of OpenVPN instances
#

DEFAULT_TABLE="standard"
DEFAULT_TABLE_MARK=42
TEMP_IPROUTE2_RTTABLES_FILE=/opt/eblocker-icap/network/iproute2.rt_tables.result

echo "Removing routing tables..."

# remove our default table
sed -i '/100   standard/d' /etc/iproute2/rt_tables

# remove temporary rt_tables file used by icap-server
if [ -f $TEMP_IPROUTE2_RTTABLES_FILE ]
then
    rm $TEMP_IPROUTE2_RTTABLES_FILE
fi

# delete DEFAULT_TABLE
ip route del table $DEFAULT_TABLE


# Policy Routing Rules:
# remove rules
ip rule del pref 97

ip rule del pref 198
ip rule del pref 199

# commit changes
ip route flush cache


#debugging
SCRIPT_NAME="openvpn_shutdown"
echo "$SCRIPT_NAME script finished!" >> /var/log/eblocker/$SCRIPT_NAME.log

echo "Finished shutdown of routing tables!"
echo "TODO: remove client routing tables"
